import 'package:get/get.dart';
import 'package:kq_flutter_core_widget/config/kq_core_global.dart';
import 'package:kq_flutter_widgets/pages/common/file_preview/view.dart';
import 'package:kq_flutter_widgets/pages/common/img_preview/view.dart';
import 'package:kq_flutter_widgets/pages/common/video_play/view.dart';
import 'package:kq_flutter_widgets/widgets/animate/mapChart/map_chart.dart';
import 'package:kq_flutter_widgets_example/pages/demo/bread_crumbs_demo_page.dart';
import 'package:kq_flutter_widgets_example/pages/demo/card.dart';
import 'package:kq_flutter_widgets_example/pages/demo/chart/chart_demo.dart';
import 'package:kq_flutter_widgets_example/pages/demo/chart/pie_chart_demo.dart';
import 'package:kq_flutter_widgets_example/pages/demo/chart/radar_chart_demo.dart';
import 'package:kq_flutter_widgets_example/pages/demo/drawer_demo_page.dart';
import 'package:kq_flutter_widgets_example/pages/demo/ellipsis_text_page.dart';
import 'package:kq_flutter_widgets_example/pages/demo/kq_selectable_grid_view_demo.dart';
import 'package:kq_flutter_widgets_example/pages/demo/over_flow_box.dart';
import 'package:kq_flutter_widgets_example/pages/demo/pull_down_menu_page.dart';
import 'package:kq_flutter_widgets_example/pages/demo/pull_down_menu_simple_page.dart';
import 'package:kq_flutter_widgets_example/pages/demo/pull_down_menu_sub_page.dart';
import 'package:kq_flutter_widgets_example/pages/demo/signature_pad_demo.dart';
import 'package:kq_flutter_widgets_example/pages/demo/swiper_demo_page.dart';
import 'package:kq_flutter_widgets_example/pages/demo/table_widget_demo.dart';
import 'package:kq_flutter_widgets_example/pages/demo/wrap_flow_page.dart';

import '../pages/demo/KqStepLineDemo.dart';
import '../pages/demo/animate_demo.dart';
import '../pages/demo/animate_view_demo.dart';
import '../pages/demo/button_demo_page.dart';
import '../pages/demo/chart/chart_bar_demo.dart';
import '../pages/demo/chart/line_chart_demo.dart';
import '../pages/demo/chart/pie_chart_3d_demo.dart';
import '../pages/demo/custom_expand_view.dart';
import '../pages/demo/custom_view_page.dart';
import '../pages/demo/dialog_demo_page.dart';
import '../pages/demo/drag_grid_view_demo.dart';
import '../pages/demo/drag_list_view_demo.dart';
import '../pages/demo/drag_menu_demo.dart';
import '../pages/demo/drop_down_menu_demo.dart';
import '../pages/demo/empty_view_demo.dart';
import '../pages/demo/expand_list_demo_page.dart';
import '../pages/demo/file_picker_demo.dart';
import '../pages/demo/floating_view_demo.dart';
import '../pages/demo/form_demo_page.dart';
import '../pages/demo/kq_animate_demo.dart';
import '../pages/demo/kq_chart_demo.dart';
import '../pages/demo/map_chart_choose_demo.dart';
import '../pages/demo/map_chart_demo.dart';
import '../pages/demo/particle_demo.dart';
import '../pages/demo/section_grid_view_demo.dart';
import '../pages/demo/section_list_view.dart';
import '../pages/demo/special_order_demo.dart';
import '../pages/demo/tab_bar_and_view_demo.dart';
import '../pages/demo/tab_bar_demo.dart';
import '../pages/demo/trailing_demo.dart';

class RouteMap {
  /// 路由配置
  static List<GetPage> getPages = [
    GetPage(name: '/ButtonDemo', page: () => const ButtonDemoPage()),
    GetPage(name: '/FormDemo', page: () => const FormDemoPage()),
    GetPage(name: '/ExpandListDemo', page: () => const ExpandListDemoPage()),
    GetPage(name: '/DialogDemo', page: () => const DialogDemoPage()),
    GetPage(name: '/CustomViews', page: () => const CustomViewsPage()),
    GetPage(name: '/KqAnimateDemo', page: () => const KqAnimateDemo()),
    GetPage(name: '/AnimateDemo', page: () => const AnimateDemo()),
    GetPage(name: '/AnimateViewDemo', page: () => const AnimateViewDemo()),
    GetPage(name: '/MapChartDemo', page: () => const MapChartDemo()),
    GetPage(name: '/ParticleDemo', page: () => const ParticleDemo()),
    GetPage(name: '/TrailingDemo', page: () => const TrailingDemo()),
    GetPage(
        name: '/MapChartChooseDemo', page: () => const MapChartChooseDemo()),
    GetPage(
        name: KqCoreGlobal.routerOfImagePreview,
        page: () => const ImgPreviewPage()),
    GetPage(
        name: KqCoreGlobal.routerOfFilePreview,
        page: () => const FilePreviewPage()),
    GetPage(
        name: KqCoreGlobal.routerOfVideoPlay,
        page: () => const VideoPlayPage()),
    GetPage(
        name: '/DragGridViewDemo', page: () => const DragGridViewDemoPage()),
    GetPage(name: '/DragDrawer', page: () => const DragDrawerDemo()),
    GetPage(
        name: '/DragListViewDemo', page: () => const DragListViewDemoPage()),
    GetPage(name: '/TabBarDemoPage', page: () => const TabBarDemoPage()),
    GetPage(
        name: '/SectionGridViewDemo', page: () => const SectionGridViewDemo()),
    GetPage(name: '/SectionListView', page: () => const SectionListView()),
    GetPage(name: '/WrapFlowPage', page: () => const WrapFlowPage()),
    GetPage(name: '/PullDownMenuPage', page: () => const KqPullDownMenuPage()),
    GetPage(
        name: '/SubPullDownMenuPage',
        page: () => const KqSubPullDownMenuPage()),
    GetPage(
        name: '/PullDownMenuSimplePage',
        page: () => const KqPullDownMenuSimplePage()),
    GetPage(name: '/WrapFlowPage', page: () => const WrapFlowPage()),
    GetPage(name: '/KqChartLineDemo', page: () => const KqChartLineDemo()),
    GetPage(name: '/SignaturePadDemo', page: () => const SignaturePadDemo()),
    GetPage(name: '/KqTable', page: () => const TableDemoPage()),
    GetPage(name: '/KqSwiper', page: () => const SwiperDemoPage()),
    GetPage(
        name: '/KqBreadCrumbsDemo', page: () => const BreadCrumbsDemoPage()),
    GetPage(name: '/CustomExpandView', page: () => const CustomExpandView()),
    GetPage(name: '/chartPage', page: () => const ChartPage()),
    GetPage(name: '/LineChartPage', page: () => const LineChartPage()),
    GetPage(name: '/chart/pieChart', page: () => const PieChartPage()),
    GetPage(name: '/chart/pieChart3D', page: () => const PieChart3DPage()),
    GetPage(name: '/chart/radarChart', page: () => const RadarChartPage()),
    GetPage(name: '/ChartBarDemo', page: () => const ChartBarDemo()),
    GetPage(name: '/FilePicker', page: () => const FilePickerPage()),
    GetPage(
        name: '/KqSelectableGridViewDemo',
        page: () => const KqSelectableGridViewDemo()),
    GetPage(name: '/KqDrawer', page: () => const KqDrawerDemo()),
    GetPage(name: '/KqOverFlowBox', page: () => const KqOverFlowBoxPage()),
    GetPage(name: '/KqStepLineDemo', page: () => const KqStepLineDemo()),
    GetPage(name: '/KqCard', page: () => const KqCardPage()),
    GetPage(
        name: '/FloatingViewDemoPage',
        page: () => const FloatingViewDemoPage()),
    GetPage(name: '/DropDownMenuDemo', page: () => const DropDownMenuDemo()),
    GetPage(
        name: '/tabBarAndViewDemo', page: () => const TabBarAndViewDemoPage()),
    GetPage(name: '/SpecialOrderDemo', page: () => const SpecialOrderDemo()),
    GetPage(name: '/EmptyViewDemo', page: () => const EmptyViewDemo()),
    GetPage(name: '/EllipsisText', page: () => const EllipsisTextPage()),
  ];

  /// 跳转按钮演示页面
  static pushButtonDemo() {
    Get.toNamed('/ButtonDemo');
  }

  /// 跳转空布局演示页面
  static pushEmptyDemo() {
    Get.toNamed('/EmptyViewDemo');
  }

  /// 跳转表单演示页面
  static pushFormDemo() {
    Get.toNamed('/FormDemo');
  }

  /// 跳转折叠列表演示页面
  static pushExpandListDemo() {
    Get.toNamed('/ExpandListDemo');
  }

  /// 跳转对话框演示页面
  static pushDialogDemo() {
    Get.toNamed('/DialogDemo');
  }

  // 跳转wrapFlow演示页面
  static pushWrapFlowDemo() {
    Get.toNamed('/WrapFlowPage');
  }

  // 跳转下拉菜单演示页面
  static pushPullDownDemo() {
    Get.toNamed('/PullDownMenuPage');
  }

  // 跳转子下拉菜单演示页面
  static pushSubPullDownDemo() {
    Get.toNamed('/SubPullDownMenuPage');
  }

  // 跳转下拉菜单演示页面
  static pushPullDownSimpleDemo() {
    Get.toNamed('/PullDownMenuSimplePage');
  }

  /// 跳转自定义控件演示页面
  static pushCustomViewsPage() {
    Get.toNamed("/CustomViews");
  }

  /// 跳转自定义控件演示页面2
  static pushCustomExpandPage() {
    Get.toNamed("/CustomExpandView");
  }

  /// 跳转自定义控件演示页面
  static pushSignaturePadDemo() {
    Get.toNamed("/SignaturePadDemo");
  }

  /// 拖拽排序演示demo-网格
  static pushDragGridViewDemo() {
    Get.toNamed('/DragGridViewDemo');
  }

  /// 拖拽排序演示demo-列表
  static pushDragListViewDemoPage() {
    Get.toNamed('/DragListViewDemo');
  }

  /// 拖拽排序演示demo-仿小诸葛设备详情
  static pushDragDrawerDemo() {
    Get.toNamed('/DragDrawer');
  }

  /// TabBar演示demo
  static pushTabBarDemo() {
    Get.toNamed('/TabBarDemoPage');
  }

  static pusSectionGridViewDemo() {
    Get.toNamed('/SectionGridViewDemo');
  }

  ///折线图曲线图测试
  static pushKqChartLineDemo() {
    Get.toNamed('/KqChartLineDemo');
  }

  ///扇形图
  static pushKqChartPieDemo() {
    Get.toNamed('/KqChartPieDemo');
  }

  ///  跳转表格界面
  static pushTableDemo() {
    Get.toNamed('/KqTable');
  }

  /// 跳转面包屑界面
  static pushBreadCrumbsDemo() {
    Get.toNamed("/KqBreadCrumbsDemo");
  }

  /// 跳转文件选择
  static goFilePickerPage() {
    Get.toNamed("/FilePicker");
  }

  ///  跳转轮播图
  static pushSwiperDemo() {
    Get.toNamed('/KqSwiper');
  }

  ///  跳转表格界面
  static pusSectionListView() {
    Get.toNamed('/SectionListView');
  }

  ///  跳转到图表界面
  static pushChartPage() {
    Get.toNamed('/chartPage');
  }

  /// 跳转折线图演示界面
  static goLineChartPage() {
    Get.toNamed('/LineChartPage');
  }

  ///  跳转到饼状图界面
  static pushPieChartPage() {
    Get.toNamed('/chart/pieChart');
  }

  static pushBarChartPage() {
    Get.toNamed('/ChartBarDemo');
  }

  ///  跳转到3D饼状图界面
  static pushPieChart3DPage() {
    Get.toNamed('/chart/pieChart3D');
  }

  ///  跳转到雷达图
  static pushRadarChartPage() {
    Get.toNamed('/chart/radarChart');
  }

  ///跳转可选择的gridView
  static pushKqSelectableGridView() {
    Get.toNamed('/KqSelectableGridViewDemo');
  }

  /// 抽屉
  static pushKqDrawer() {
    Get.toNamed('/KqDrawer');
  }

  static pushKqOverFlowBox() {
    Get.toNamed('/KqOverFlowBox');
  }

  /// 时间轴demo
  static pushKqStepLineDemo() {
    Get.toNamed('/KqStepLineDemo');
  }

  /// 卡片
  static pushKqCardDemo() {
    Get.toNamed('/KqCard');
  }

  /// 悬浮控件演示
  static pushFloatingViewDemoPage() {
    Get.toNamed('/FloatingViewDemoPage');
  }

  /// 下拉菜单演示
  static pushDropDownMenuDemo() {
    Get.toNamed('/DropDownMenuDemo');
  }

  /// 首页动画演示
  static pushKqAnimateDemo() {
    Get.toNamed('/KqAnimateDemo');
  }

  ///动画演示
  static pushAnimateDemo() {
    Get.toNamed('/AnimateDemo');
  }

  ///动画演示
  static pushAnimateViewDemo() {
    Get.toNamed('/AnimateViewDemo');
  }

  ///MapChartDemo
  static pushMapChartDemo(MapChartData data) {
    Get.toNamed('/MapChartDemo', arguments: {"data": data});
  }

  ///MapChartChooseDemo
  static pushMapChartChooseDemo() {
    Get.toNamed('/MapChartChooseDemo');
  }

  ///ParticleDemo
  static pushParticleDemo() {
    Get.toNamed('/ParticleDemo');
  }

  ///TrailingDemo
  static pushTrailingDemo() {
    Get.toNamed('/TrailingDemo');
  }

  /// 首页动画演示
  static pushTabBarAndViewDemo() {
    Get.toNamed('/tabBarAndViewDemo');
  }

  /// 视频播放
  static pushVideoPlayDemo() {
    Get.toNamed(KqCoreGlobal.routerOfVideoPlay, arguments: {
      "url":
          "https://gofactory.oss-cn-hangzhou.aliyuncs.com/videos/installdemo.mp4"
    });
  }

  /// 特殊定制控件
  static pushSpecialOrderDemo() {
    Get.toNamed('/SpecialOrderDemo');
  }

  /// 更多文本
  static pushEllipsisText() {
    Get.toNamed('/EllipsisText');
  }
}
